﻿<%@ Page Title="" Language="C#" MasterPageFile="~/NewStdMasterPage.Master" AutoEventWireup="true"
    EnableEventValidation="false" CodeBehind="Registration.aspx.cs" Inherits="AteneoLibri.Pages.Registration" %>

<asp:Content ID="HeaderContent" ContentPlaceHolderID="HeadContent" runat="server">
</asp:Content>
<asp:Content ID="BodyContent" ContentPlaceHolderID="MainContent" runat="server">
    <h2>
        Registrazione utente
    </h2>
    <asp:Panel ID="pnlRegistrazione" runat="server" Visible="true" DefaultButton="btnRegistra">
        <p>
            La password deve avere un minimo di
            <%= System.Configuration.ConfigurationManager.AppSettings["minRequiredPasswordLength"] %>
            ed un massimo di
            <%= System.Configuration.ConfigurationManager.AppSettings["maxRequiredPasswordLength"] %>
            caratteri.
        </p>
        <div style="width: 100%; overflow: auto;">
            <div id="leftRegistration" class="Registration">
                <div>
                    Nome<br />
                    <asp:TextBox ID="txtName" runat="server" CssClass="StandardTextBox"></asp:TextBox>
                    <asp:RequiredFieldValidator ID="rfvName" runat="server" ErrorMessage="* Campo nome obbligatorio"
                        ValidationGroup="vgRec" ControlToValidate="txtName" Display="Dynamic" CssClass="failureNotification">*</asp:RequiredFieldValidator>
                    <asp:RegularExpressionValidator ID="regexpName" runat="server" ErrorMessage="(!) Sequenza di caratteri non valida. Sono ammessi solo caratteri alfanumerici, apici singoli, spazi e punti."
                        ValidationGroup="vgRec" ControlToValidate="txtName" CssClass="failureNotification"
                        ValidationExpression="^[a-zA-Z0-9'.\s]{1,20}$">(!)</asp:RegularExpressionValidator>
                </div>
                <div>
                    Cognome<br />
                    <asp:TextBox ID="txtSurname" runat="server" CssClass="StandardTextBox"></asp:TextBox>
                    <asp:RequiredFieldValidator ID="rfvSurname" runat="server" ErrorMessage="* Campo cognome obbligatorio"
                        ValidationGroup="vgRec" ControlToValidate="txtSurname" Display="Dynamic" CssClass="failureNotification">*</asp:RequiredFieldValidator>
                    <asp:RegularExpressionValidator ID="regexpSurname" runat="server" ErrorMessage="(!) Sequenza di caratteri non valida. Sono ammessi solo caratteri alfanumerici, apici singoli, spazi e punti."
                        ValidationGroup="vgRec" ControlToValidate="txtSurname" CssClass="failureNotification"
                        ValidationExpression="^[a-zA-Z0-9'.\s]{1,20}$">(!)</asp:RegularExpressionValidator>
                </div>
                <div>
                    Università<br />
                    <asp:DropDownList ID="ddlUniversity" runat="server" CssClass="StandardTextBox" DataTextField="Name"
                        AutoPostBack="True" AppendDataBoundItems="true" DataValueField="IdUniversity"
                        OnSelectedIndexChanged="ddlUniversity_SelectedIndexChanged">
                        <asp:ListItem Selected="True" Enabled="true" Value="0">-- Seleziona --</asp:ListItem>
                    </asp:DropDownList>
                </div>
                <div>
                    Facoltà<br />
                    <asp:DropDownList ID="ddlFaculty" runat="server" CssClass="StandardTextBox" DataTextField="Name"
                        DataValueField="IdFaculty" AppendDataBoundItems="true">
                        <asp:ListItem Selected="True" Enabled="true" Value="0">-- Seleziona --</asp:ListItem>
                    </asp:DropDownList>
                </div>
            </div>
            <div id="rightRegistration" class="Registration">
                <div>
                    Username<br />
                    <asp:TextBox ID="txtUsername" runat="server" CssClass="StandardTextBox"></asp:TextBox>
                    <asp:RequiredFieldValidator ID="rfvUsername" runat="server" ErrorMessage="* Campo username obbligatorio"
                        ValidationGroup="vgRec" ControlToValidate="txtUsername" Display="Dynamic" CssClass="failureNotification">*</asp:RequiredFieldValidator>
                    <asp:CustomValidator ID="cvUserName" runat="server" ErrorMessage="(*) Username già presente!"
                        CssClass="failureNotification" ValidationGroup="vgRec" Display="Dynamic" ControlToValidate="txtUsername">(*)</asp:CustomValidator>
                    <asp:RegularExpressionValidator ID="regexpUsername" runat="server" ErrorMessage="(!) Sequenza di caratteri non valida. Sono ammessi solo caratteri alfanumerici, apici singoli, spazi e punti."
                        ValidationGroup="vgRec" ControlToValidate="txtUsername" CssClass="failureNotification"
                        ValidationExpression="^[a-zA-Z0-9'.\s]{1,20}$">(!)</asp:RegularExpressionValidator>
                </div>
                <div>
                    Email<br />
                    <asp:TextBox ID="txtEmail" runat="server" CssClass="StandardTextBox"></asp:TextBox>
                    <asp:RequiredFieldValidator ID="rfvEmail" runat="server" ErrorMessage="* Campo email obbligatorio"
                        ValidationGroup="vgRec" ControlToValidate="txtEmail" Display="Dynamic" CssClass="failureNotification">*</asp:RequiredFieldValidator>
                    <asp:RegularExpressionValidator ID="revEmail" runat="server" ErrorMessage="** Formato email non valido"
                        ValidationGroup="vgRec" ControlToValidate="txtEmail" Display="Dynamic" CssClass="failureNotification"
                        ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*">**</asp:RegularExpressionValidator>
                    <asp:CustomValidator ID="cvUser" runat="server" ErrorMessage="(!) Utente già registrato!"
                        CssClass="failureNotification" ValidationGroup="vgRec" Display="Dynamic" ControlToValidate="txtEmail">(!)</asp:CustomValidator>
                </div>
                <div>
                    Password<br />
                    <asp:TextBox ID="txtPassword" runat="server" CssClass="StandardTextBox" TextMode="Password"></asp:TextBox>
                    <asp:RequiredFieldValidator ID="rfvPassword" runat="server" ErrorMessage="* Campo password obbligatorio"
                        ValidationGroup="vgRec" ControlToValidate="txtPassword" Display="Dynamic" CssClass="failureNotification">*</asp:RequiredFieldValidator>
                    <asp:RegularExpressionValidator ID="revPassword" runat="server" ErrorMessage="** La password non rispetta i requisiti minimi"
                        ValidationGroup="vgRec" ValidationExpression="[\W\s\w\S]{6,15}" Display="Dynamic"
                        ControlToValidate="txtPassword" CssClass="failureNotification" EnableClientScript="true">**</asp:RegularExpressionValidator>
                </div>
                <div>
                    Conferma password<br />
                    <asp:TextBox ID="txtConfirmPsw" runat="server" CssClass="StandardTextBox" TextMode="Password"></asp:TextBox>
                    <asp:RequiredFieldValidator ID="rfvConfirmPsw" runat="server" ErrorMessage="* Necessaria password di conferma"
                        ValidationGroup="vgRec" ControlToValidate="txtConfirmPsw" Display="Dynamic" CssClass="failureNotification">*</asp:RequiredFieldValidator>
                    <asp:CompareValidator ID="cvPassword" runat="server" ErrorMessage="*** La password di conferma deve coincidere con la password"
                        ValidationGroup="vgRec" ControlToCompare="txtPassword" ControlToValidate="txtConfirmPsw"
                        Display="Dynamic" CssClass="failureNotification">***</asp:CompareValidator>
                </div>
            </div>
        </div>
        <div id="PrivacyBox" class="PrivacyBox">
            <div>
                <asp:CheckBox ID="chkPrivacy" CssClass="checkboxStyle" runat="server" ValidationGroup="vgRec" />
            </div>
            <div>
                <asp:Panel ID="pnlErrorPrivacy" runat="server" Visible="false" CssClass="failureNotification">
                    Per registrarti occorre spuntare la prima check box relativa alle condizioni di
                    utilizzo del sito!
                </asp:Panel>
                <%--<asp:Panel ID="pnlErrorUsageConditions" runat="server" Visible="false" CssClass="failureNotification">
                    Per registrarti occorre spuntare la check box relativa all'informativa sulla privacy!
                </asp:Panel>--%>
                <%--<asp:Panel ID="pnlErrorRegistrationContitions" runat="server" Visible="false" CssClass="failureNotification">
                    Per registrarti occorre spuntare le prime due check box!
                </asp:Panel>--%>
            </div>
            <div>
                <asp:CheckBox ID="chkThirdPartPrivacy" CssClass="checkboxStyle" runat="server" ValidationGroup="vgRec" />
            </div>
        </div>
        <div class="recaptchaStyle">
            <recaptcha:RecaptchaControl ID="recaptcha" runat="server" PublicKey="6LdCedMSAAAAACF6CBzUPx660TUdPPktEw4ijAe2"
                PrivateKey="6LdCedMSAAAAADcv8OHgOGC8hUxEVXcHUMQM_GJK" />
        </div>
        <div style="text-align: center; margin-top: 20px;">
            <asp:Button ID="btnRegistra" runat="server" CssClass="StandardButton" Text="Registrati" ValidationGroup="vgRec"
                OnClick="btnRegistra_Click" />&nbsp;
            <asp:Button ID="btnAnnulla" runat="server" CssClass="StandardButton" Text="Annulla"
                CausesValidation="false" OnClick="btnAnnulla_Click" />
        </div>
        <div class="ValidationBox">
            <asp:ValidationSummary ID="vsRegistrazione" runat="server" DisplayMode="BulletList"
                ValidationGroup="vgRec" CssClass="failureNotification" EnableClientScript="true"
                HeaderText="Attenzione:" />
        </div>
    </asp:Panel>
    <asp:Panel ID="pnlRegistrationSuccessfullyCompleted" runat="server" Visible="false">
        <table>
            <tr>
                <td>
                    <asp:Image ID="Image1" runat="server" ImageUrl="~/Images/icon-success.png" />
                </td>
                <td style="vertical-align: middle; padding-left: 20px;">
                    <asp:Label ID="Label1" Text="Per completare la registrazione clicca sul link che ti è stato inviato all'indirizzo email indicato nella fase di registrazione! Attenzione: la mail inviata potrebbe essere finita nella posta indesiderata."
                        runat="server" CssClass="failureNotification" ForeColor="Blue" Font-Size="Larger"></asp:Label>
                </td>
            </tr>
        </table>
    </asp:Panel>
    <asp:Panel ID="pnlError" runat="server" Visible="false">
        <table>
            <tr>
                <td>
                    <asp:Image ID="Image2" runat="server" ImageUrl="~/Images/icon-denied.png" />
                </td>
                <td style="vertical-align: middle; padding-left: 20px;">
                    <asp:Label ID="lblError" Text="" runat="server" CssClass="failureNotification"></asp:Label>
                </td>
            </tr>
        </table>
    </asp:Panel>
</asp:Content>
